Speech coding system

ABSTRACT

In a speech coding system with an encoder and a decoder cooperating with said encoder, the speech encoder comprises a pre-processor and an ADPCM encoder with a quantizer and step-size adaptation means, while the speech decoder comprises an ADPCM decoder with similar step-size adaptation means as in the ADPCM encoder and with a decoder, and a post-processor. The quantizer is provided with storage means containing values for a correction factor α(c(n)) of the step-size Δ(n), said correction factor being dependent on the quantizer output signal c(n). The step-size adaptation occurs in accordance with the relation: 
     
       
         
           
             
               Δ 
               ⁡ 
               
                 ( 
                 
                   n 
                   + 
                   1 
                 
                 ) 
               
             
             = 
             
               
                 Δ 
                 ⁡ 
                 
                   ( 
                   n 
                   ) 
                 
               
               · 
               A 
               · 
               
                 { 
                 
                   
                     
                       
                         
                           α 
                           ⁡ 
                           
                             ( 
                             
                               c 
                               ⁡ 
                               
                                 ( 
                                 n 
                                 ) 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                           
                             if 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               α 
                               ⁡ 
                               
                                 ( 
                                 
                                   c 
                                   ⁡ 
                                   
                                     ( 
                                     n 
                                     ) 
                                   
                                 
                                 ) 
                               
                             
                           
                           &lt; 
                           1 
                         
                       
                     
                     
                       
                         
                           
                             
                               α 
                               ⁡ 
                               
                                 ( 
                                 
                                   c 
                                   ⁡ 
                                   
                                     ( 
                                     n 
                                     ) 
                                   
                                 
                                 ) 
                               
                             
                             + 
                             b 
                           
                           ⁢ 
                           
                               
                           
                         
                       
                       
                         
                           
                             if 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             Δ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               
                                 ( 
                                 n 
                                 ) 
                               
                               · 
                               A 
                               · 
                               
                                 c 
                                 max 
                               
                             
                           
                           &lt; 
                           
                             Δ 
                             max 
                           
                         
                       
                     
                     
                       
                         1 
                       
                       
                         otherwise 
                       
                     
                   
                   ⁢ 
                   
                       
                   
                   .

BACKGROUND OF THE INVENTION

The present invention relates to a speech coding system with a speech encoder and a speech decoder cooperating with said speech encoder, the speech encoder comprising a pre-processor and an ADPCM (adaptive differential pulse code modulation) encoder with a quantizer and step-size adaptation means and the speech decoder comprising an ADPCM decoder with similar step-size adaptation means as in the ADPCM encoder and with a decoder, and a post-processor, the quantizer being provided with storage means containing values for a correction factor α((c(n)) of the step-size Δ(n), said correction factor being dependent on the quantizer output signal c(n).

SUMMARY OF THE INVENTION

The speech encoder generates a bit-stream, which can be stored or transmitted through a channel. A poor storage device or a bad transmission channel might not be able to preserve this information; bit-errors in the form of bit changes may occur. Also, when voice signals are processed in the encoder of a standard P²CM audio coding system, i.e. a processed ADPCM encoder and -decoder, such bit-errors may occur. When the bit-error rate is higher than 1%, artifacts can be heard. Most of these artifacts are labeled as a sudden increase or decrease in volume. A close examination of the coder reveals that the most vulnery part of the coding system for bit-errors are the adaptive step-size Δ(n) means. The adaptation depends on the generated code levels. When these code levels change due to bit-errors, the step-size of the ADPCM encoder and the ADPCM decoder are no more the same. Therefore, it is already proposed to provide the quantizer with storage means containing values for a correction factor αt(c(n)) of the step-size Δ(n). The step-size may then adapted according to, for example, the relation:

$\begin{matrix} {{\Delta\left( {n + 1} \right)} = \left\{ \begin{matrix} {\left\lbrack {{\Delta(n)} + b} \right\rbrack \cdot A \cdot {\alpha\left( {c(n)} \right)}} & {{{{if}\mspace{14mu}\left\lbrack {{\Delta(n)} + b} \right\rbrack} < \Delta_{\max}},\mspace{11mu}{or}} \\ {\left\lbrack {{\Delta(n)} + b} \right\rbrack \cdot A} & \text{otherwise} \end{matrix} \right.} & (P) \end{matrix}$ with A a constant (A<1). The down scaled step-size [Δ(n)+b].A is scaled up by a factor α((c(n)) (>1) if the maximum allowed step-size Δ_(max) is not exceeded. The choice of the correction factor value α(c(n)) is such that a faster adaptation for codes belonging to higher quantization levels is made to allow the coding system to adapt faster when the level of the input signal suddenly increases. However, in case small energy changes at the input of the quantizer occur, the adaptation with the known correction tables for the correction factor α((c(n)) is not sufficient.

The purpose of the invention is to provide for an improved step-size adaptation in the quantizer of a speech encoder and decoder.

Therefore, in accordance with the invention, the speech coding system as described in the opening paragraph is characterized in that the step-size adaptation occurs according to the relation:

$\begin{matrix} {{\Delta\left( {n + 1} \right)} = {{\Delta(n)} \cdot A \cdot \left\{ \begin{matrix} {\alpha\left( {c(n)} \right)} & {{\text{if}\mspace{14mu}{\alpha\left( {c(n)} \right)}} < 1} \\ {{\alpha\left( {c(n)} \right)} + b} & {{\text{if}\mspace{14mu}{{\Delta(n)} \cdot A \cdot c_{\max}}} < \Delta_{\max}} \\ 1 & \text{otherwise;} \end{matrix} \right.}} & (Q) \end{matrix}$ wherein b, A and Δ_(max) are constants.

Particularly when the pre-processor is provided with phase-smearing filter means and the post-processor is provided with filter means inverse thereto as described in ID604963, the energy of the input to the ADPCM encoder increases more gradually, allowing a better choice for (α(c(n)). Therefore, the content of said patent application is considered to be part of the description of the present invention. Without such phase-smearing filter means problems may arise with pulse-like input signals occurring in close-microphone recording.

These and other aspects of the invention will be apparent from and elucidated with reference to the drawing and the embodiment described hereinafter. In the drawing:

FIG. 1 shows a block diagram of a P²CM coding system according to the invention;

FIGS. 2A–2F show prior art tables with the quantization and scale factors of a ADPCM coder; and

FIGS. 3A–3F show tables with the quantization and scale factors for an ADPCM coder according to the invention with a phase-smearing filter in the pre-processor and an inverse phase-smearing filter in the post-processor.

The P²CM audio coding system in FIG. 1 is constituted by an encoder 1 and a decoder 2. The encoder 1 comprises a pre-processor 3 and an ADPCM encoder 4, while the decoder 2 is provided with an ADPCM decoder 5 and a post-processor 6. The ADPCM encoder comprises a quantizer block 7, a step-size adaptation block 8, a decoder block 9 and a predictor block 10. The ADPCM decoder comprises a step-size adaptation block 12, a decoder block 13 and a predictor block 14. The pre-processor comprises a phase-smearing filter to smooth the effect of rapid high energy changes at the input of the quantizer and spectral amplitude warping means to modify the signal spectrum prior to encoding, while the post-processor comprises means to undo the effect of warping in the pre-processor and an inverse filter. In a preferred embodiment phase-smearing filtering and warping as well as inverse filtering and unwarping are realized in the frequency domain. Therefore, both pre- and post-processor are provided with means, e.g. a FFT unit, to transform time domain audio signals to the frequency domain, and means, e.g. an Inverse FFT, to transform the signals processed for filtering and warping or inverse filtering and unwarping respectively from the frequency domain to the time domain. As described in ID604963, in a specific embodiment the phase-smearing filter has a substantially linear increasing frequency characteristic between 0 and the nyquist-frequency and a constant amplitude characteristic.

The input for the ADPCM encoder 4 is a sampled audio signal provided by the pre-processor 3. When a sample n has a value s(n), for every input value s(n) the difference between this value and the estimated (predicted) value s(n−1) is taken as an error signal e(n) which is then quantized and encoded by the quantizer block 7, giving the output code c(n). The output code c(n) forms a bitstream which is sent or transmitted and received by the ADPCM decoder 5. In FIG. 1 this is indicated by the broken line 11. The output code c(n) is also used for the adaptation of the quantizer step-size Δn by block 8 and by the decoder block 9 to get a quantized error signal e′(n). The quantized error signal e′(n) is added to the predicted value s(n−1) resulting in the quantized input value s′(n). This value s′(n) is used by the predictor block 10 to adapt its prediction coefficients. The ADPCM decoder 5 is just a sub-set of the encoder 4; it reads the received quantized code c(n) from the bitstream and uses the same as the encoder 4 to update its internal variables. The output of the decoder block 13 is the quantized error signal e′(n), which, after being added to the predicted value s(n−1), gives the quantized audio signal s(n). The latter signal forms the input signal of the post-processor 6. The pre-and post-processor as well as the ADPCM encoder and decoder are described in ID604963, which, as already mentioned forms part of the present patent application.

A further input signal for the ADPCM encoder 4 is formed by a codec mode signal, which is sent or transmitted with the code words to the ADPCM decoder 5. This codec mode signal determines the bit allocation for the code words in the bitstream output of the ADPCM encoder 4 and the ADPCM decoder 5. Depending on the chosen codec mode, the resulting bitstream has a bit-rate of e.g. 12.8, 16, 19.2, 21.6, 24 or 32 kbits/s.

In the quantizer the following computations are made:

First a quantization is done in accordance with the relation: q(n)=└e(n)/Δ(n)+0.5.c _(max)+0.5┘, where └. . . ┘ represents a truncation operation.

The quantized signal q(n) is limited between 0 and c_(max), this means that: c(n)=max[0, min{c_(max), q(n)}]. The value of c_(max) is dependent on the codec mode and thus on the bit-rate. For example, with the above bit-rates, c_(max) may be successively 2, 3, 4, 5, 7 and 15. Then, the new step-size is computed in accordance with the relation:

$\begin{matrix} {{\Delta\left( {n + 1} \right)} = {{\Delta(n)} \cdot A \cdot \left\{ \begin{matrix} {\alpha\left( {c(n)} \right)} & {{\text{if}\mspace{14mu}{\alpha\left( {c(n)} \right)}} < 1} \\ {{\alpha\left( {c(n)} \right)} + b} & {{\text{if}\mspace{14mu}{{\Delta(n)} \cdot A \cdot c_{\max}}} < \Delta_{\max}} \\ 1 & \text{otherwise;} \end{matrix} \right.}} & (Q) \end{matrix}$ wherein, in a particular embodiment, b, A and Δ_(max) are set to respectively 16, 0.996 and 8192. Furthermore the quantizer block is provided with storage means, which contains tables for α(c(n)) in dependency on c(n). Particularly in an embodiment where phase-smearing is applied these correction factors allow a more gradual adaptation of the step-size Δ(n) for all codes, resulting in an improved bit-error tolerance. Especially the high bit-rate modes benefit from this. The bit-error tolerance can be controlled by the parameter A; a value of 0.75 appeared to be a good compromise between robustness for bit-errors and overall speech quality, when the bit-error rate becomes higher than 1%.

In the prior art step-size adaptation according to formula (P) mentioned in the introductory part of the description, the values of α(c(n)) are given in the tables of FIGS. 2A–2F. Each of these tables give scale factors α(c(n)) in dependency on the index number of the quantizer output signal c(n) or the quantization level e(n)/Δn corresponding therewith. For these tables c_(max) is respectively 2, 3, 4, 5, 7 and 15. Particularly from FIG. 2F, as being the longest table, it can be seen in combination with formula (P), that especially the higher codes result in a much faster adaptation of the step-size. Higher scale factors are important to allow the step-size faster when the level of the quantizer input signal suddenly increases. For the lower codes, α=1; in this case the step-size will gradually decrease. A faster step-size adaptation, however, implies a greater risk for bit-errors.

In the step-size adaptation according to formula, the values of α(c(n)) are given in the tables of FIGS. 3A–3F. Again, each of these tables give scale factors α(c(n)) in dependency on the index number of the quantizer output signal c(n) or the quantization level e(n)/Δn corresponding therewith. Also for these tables c_(max) is respectively 2, 3, 4, 5, 7 and 15. The choice of the scale factors according to the tables of FIGS. 3A–3F is possible in cases where rapid high energy changes at the quantizer input do not occur. This is possible for long-distance recording, where the sound of a voice is smeared by reverberations in the room where the recording has been taken place or for coding systems with a phase-smearing filter as described in ID 604963. The scale factors in FIGS. 3A–3F provide for a more slow step-size adaptation, but, with the favorable consequence that the risk for bit-errors is diminished.

The embodiment described above is realized by an algorithm which may be in the form of a computer program capable of running on signal processing means in a P²CM audio encoder and decoder. In so far parts of the figures show units to perform certain programmable functions, these units must be considered as subparts of the computer program.

The invention described is not restricted to the described embodiments. Modifications thereon are possible. Particularly it may be noticed that the values and tables mentioned in the described embodiments and shown in the figures are only given as an example; other values and tables are possible. 

1. Speech coding system with a speech encoder and a speech decoder cooperating with said speech encoder, the speech encoder comprising a pre-processor and an adaptive differential pulse code modulation (ADPCM) encoder with a quantizer and step-size adaptation means and the speech decoder comprising an ADPCM decoder with similar step-size adaptation means as in the ADPCM encoder and with a decoder, and a post-processor, the quantizer being provided with storage means containing values for a correction factor α(c(n)) of the step-size Δ(n), said correction factor being dependent on the quantizer output signal c(n), characterized in that the step-size adaptation occurs in accordance with the relation: ${{\Delta\left( {n + 1} \right)} = {{\Delta(n)} \cdot A}}{\cdot \left\{ \begin{matrix} {\alpha\left( {c(n)} \right)} & {{\text{if}\mspace{14mu}{\alpha\left( {c(n)} \right)}} < 1} \\ {{\alpha\left( {c(n)} \right)} + b} & {{\text{if}\mspace{14mu}{{\Delta(n)} \cdot A \cdot c_{\max}}} < \Delta_{\max}} \\ 1 & \text{otherwise} \end{matrix} \right.}$ wherein α is a function of c(n), c(n) has a maximum value of c_(max), and b, A and Δ_(max) are constants.
 2. Speech coding system according to claim 1, characterized in that the storage means in the quantizer contain values of correction factors α(c(n)) in accordance with the tables FIGS. 3A–3F.
 3. Speech coding system according to claim 1, characterized in that the correction factors α(c(n)) are adapted for a coding system, wherein in the pre-processor phase-smearing filter means are applied and in the post-processor inverse phase-smearing filter means are applied within the speech decoder. 